//给你两个长度为 n 的整数数组，fruits 和 baskets，其中 fruits[i] 表示第 i 种水果的 数量，baskets[j] 表示第 j 个
//篮子的 容量。 
//
// 你需要对 fruits 数组从左到右按照以下规则放置水果： 
//
// 
// 每种水果必须放入第一个 容量大于等于 该水果数量的 最左侧可用篮子 中。 
// 每个篮子只能装 一种 水果。 
// 如果一种水果 无法放入 任何篮子，它将保持 未放置。 
// 
//
// 返回所有可能分配完成后，剩余未放置的水果种类的数量。 
//
// 
//
// 示例 1 
//
// 
// 输入： fruits = [4,2,5], baskets = [3,5,4] 
// 
//
// 输出： 1 
//
// 解释： 
//
// 
// fruits[0] = 4 放入 baskets[1] = 5。 
// fruits[1] = 2 放入 baskets[0] = 3。 
// fruits[2] = 5 无法放入 baskets[2] = 4。 
// 
//
// 由于有一种水果未放置，我们返回 1。 
//
// 示例 2 
//
// 
// 输入： fruits = [3,6,1], baskets = [6,4,7] 
// 
//
// 输出： 0 
//
// 解释： 
//
// 
// fruits[0] = 3 放入 baskets[0] = 6。 
// fruits[1] = 6 无法放入 baskets[1] = 4（容量不足），但可以放入下一个可用的篮子 baskets[2] = 7。 
// fruits[2] = 1 放入 baskets[1] = 4。 
// 
//
// 由于所有水果都已成功放置，我们返回 0。 
//
// 
//
// 提示： 
//
// 
// n == fruits.length == baskets.length 
// 1 <= n <= 100 
// 1 <= fruits[i], baskets[i] <= 1000 
// 
//
// Related Topics 线段树 数组 二分查找 有序集合 模拟 👍 17 👎 0


package LeetCode.editor.cn;


/**
 * @author ldltd
 * @date 2025-08-06 15:33:05
 * @description 3477.水果成篮 II
 
 */
 
public class FruitsIntoBasketsIi {
    public static void main(String[] args) {
    //测试代码
    FruitsIntoBasketsIi fun = new FruitsIntoBasketsIi();
    Solution solution= fun.new Solution();
    
    }

//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
        // 朴素算法，遍历每个水果，尝试放入每个篮子
    // 时间复杂度 O(n^2)，其中 n 是水果和篮子的数量
    public int numOfUnplacedFruits(int[] fruits, int[] baskets) {
        int unplacedCount = 0;
        for (int fruit : fruits) {
            boolean placed = false;
            for (int i = 0; i < baskets.length; i++) {
                if (baskets[i] >= fruit) { // 如果篮子的容量大于等于水果的数量
                    baskets[i] =0; // 放入水果，减少篮子的容量
                    placed = true; // 标记已放置
                    break; // 找到合适的篮子后跳出循环
                }
            }
            if (!placed) {
                unplacedCount++; // 如果没有找到合适的篮子，则计数未放置的水果
            }
        }
        return unplacedCount;
    }
}
//leetcode submit region end(Prohibit modification and deletion)

}
